UnityEvent.AddListener切换到手册public void AddListener
(Events.UnityAction call);
参数call回调函数。描述 向 UnityEvent 添加非持久性监听器。 使用此参数可添加运行时回调。添加多个相同侦听器只会进行一次调用。
//Attach this script to a GameObject
//This script creates a UnityEvent that calls a method when a key is pressed
//Note that 'q' exits this application.
using UnityEngine;
using UnityEngine.Events;public class Example : MonoBehaviour
{
UnityEvent m_MyEvent = new UnityEvent(); void Start()
{
//Add a listener to the new Event. Calls MyAction method when invoked
m_MyEvent.AddListener(MyAction);
} void Update()
{
// Press Q to close the Listener
if (Input.GetKeyDown("q") ;; m_MyEvent != null)
{
Debug.Log("Quitting");
m_MyEvent.RemoveListener(MyAction); #if UNITY_EDITOR
UnityEditor.EditorApplication.isPlaying = false;
#endif Application.Quit();
} //Press any other key to begin the action if the Event exists
if (Input.anyKeyDown ;; m_MyEvent != null)
{
//Begin the action
m_MyEvent.Invoke();
}
} void MyAction()
{
//Output message to the console
Debug.Log("Do Stuff");
}
}
另请参阅:UnityEventTools.AddPersistentListener。
|